Pengertian Dan Informasi InnerClass Dalam Bahasa Java
Pengertian Dan Informasi InnerClass Dalam Bahasa Java Inner class adalah class yang tidak berada pada top level atau class yang dide...
![]() |
Pengertian Dan Informasi InnerClass Dalam Bahasa Java |
Inner class adalah class yang tidak berada pada top level atau class yang dideklarasikan didalam class lain(Outer class).
Sama seperti halnya instance
method dan variabel, inner class harus menggunakan instance object dari top
level class untuk mengakses object method atau field. Karena inner class
menggunakan instance dari top level class, maka membernya tidak dapat didekalarasikan
dengan static.
Syntax dari Inner class
class Java_Outer_class{ //code class Java_Inner_class{ //code }}
Informasi Tentang InnerClass
1. Instance inner class memiliki akses ke semua member dari outer class (termasuk member outer class yang ber access modifier private).
2. Sebuah inner class tidak dapat memiliki member static. Misalnya: public static main() tidak bisa dibuat di dalam inner class.
3. Aturan dalam inner class yaitu mereferensi dirinya sendiri atau instance dari outer class adalah sebagai berikut:
Untuk merujuk pada instance dari outer classnya dari dalam inner class, dapat digunakan referensi OuterClass.this.Untuk merujuk pada inner class sendiri (instance dari inner class) dari dalam inner class,dapat digunakan referensi this atau OuterClass.InnerClass.this.
4. Untuk membuat instance dari inner class, kita harus memiliki instance dari outer class terlebih dahulu. Tidak ada pengecualisan untuk aturan ini. Untuk membuat instance dari inner class, terdapat 2 cara, yaitu:
Dari luar outer classDari dalam outer class
Keunggulan menggunakan inner
classes yaitu:
1. Code Optimization: Ini membutuhkan lebih sedikit kode untuk ditulis.2. Nested classes mewakili tipe hubungan khusus yang dapat mengakses semua anggota (anggota data dan metode) outer class termasuk pribadi.
3. Nested classes digunakan untuk mengembangkan kode yang lebih mudah dibaca dan mudah dipelihara karena secara logika mengelompokkan Class dan antarmuka di satu tempat saja.
Silahkan bertanya jika benar-benar mengalami kesulitan.